const axios  = require('axios').default

// 创建axios实例
const instance = axios.create({
  baseURL: 'https://some-domain.com/api/',
  timeOut: 2000,
  // headers: {
    //   post: {
    //     'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
    //   }
    // }
})

// 请求拦截
instance.interceptors.request.use((config: any) => {
  console.log('请求---');
  
  // 1.请求成功拦截
  // 自定义header，可添加项目token
    // if (store.state.app.token) {
    //   config.headers.token = store.state.app.token;
    //   config.headers.timestamp = new Date().getTime();
    // }
    return config;
}, (error: any) => {
  // 2.请求失败拦截
  return Promise.reject(error)
})

// 响应拦截
instance.interceptors.response.use((response: any) => {
  console.log('响应---');
  // const resCode = response.status;
  // if (resCode === 200) {
  //   return Promise.resolve(response);
  // } else {
  //   return Promise.reject(response);
  // }
  return response;
}, (error: any) => {
  // const resCode = error.response.status;
  // switch (resCode) {
  //   case 401:
  //     vm.$Message.error(error.response.data.message);
  //     store.commit('logout', this);
  //     store.commit('clearOpenedSubmenu');
  //     // console.log('token-0', store.state.app.token);
  //     router.replace({
  //       name: 'login'
  //     });
  //     break;
  //   case 404:
  //     vm.$Message.error('网络请求不存在');
  //     break;
  //   case 500:
  //     vm.$Message.error('服务器连接错误');
  //     break;
  //   // 其他状态码错误提示
  //   default:
  //     vm.$Message.error(error.response.data.message);
  // }
  return Promise.reject(error);
})

export default instance